QuickChick: Property-Based Testing for Coq

نویسندگان

  • Maxime Dénès
  • Cătălin Hri̧tcu
  • Leonidas Lampropoulos
  • Zoe Paraskevopoulou
  • Benjamin C. Pierce
چکیده

Co-designing software or hardware systems and their formal proofs is an appealing idea, with the expectation that the rigor enforced by formal methods will percolate the whole design. In practice however, carrying out formal proofs while designing even a relatively simple system can be an exercise in frustration, with a great deal of time spent attempting to prove things about broken definitions, and countless iterations for discovering the correct lemmas and strengthening inductive invariants. We believe that property-based testing (PBT) can dramatically decrease the number of failed proof attempts and reduce the overall cost of producing formally verified systems. Despite the existence of experimental tools [Wil11], Coq is still lagging behind proof assistants like Isabelle, which provides several mature PBT tools (e.g. [Bul12]). We aim to improve the PBT support in Coq, while also investigating several innovations we could add into the mix like polarized mutation testing and a language-based approach to custom generation. We are also exploring whether PBT could bring more confidence to the implementation of Coq itself.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Foundational Property-Based Testing

Integrating property-based testing with a proof assistant creates an interesting opportunity: reusable or tricky testing code can be formally verified using the proof assistant itself. In this work we introduce a novel methodology for formally verified property-based testing and implement it as a foundational verification framework for QuickChick, a port of QuickCheck to Coq. Our framework enab...

متن کامل

A Coq Framework For Verified Property-Based Testing

We introduce a novel methodology for formally verified property-based testing and implement it as a framework on top of the QuickChick testing plugin for Coq.1 Our verification framework is aimed at proving the correctness of executable testing code with respect to a high-level specification, which captures the conjecture under test in a more direct way. To this end, we provide a systematic way...

متن کامل

A Compared Study of Two Correctness Proofs for the Standardized Algorithm of Abr Conformance ?

The ABR conformance protocol is a real-time program that controls dataaow rates on ATM networks. A crucial part of this protocol is the dynamical computation of the expected rate of data cells. We present here a modelling of the corresponding program with its environment , using the notion of (parametric) timed automata. A fundamental property of the service provided by the protocol to the user...

متن کامل

and J . − F . Monin A Compared Study of Two Correctness Proofs for the Standardized Algorithm of ABR Conformance

The ABR conformance protocol is a real-time program that controls dataaow rates on ATM networks. A crucial part of this protocol is the dynamical computation of the expected rate of data cells. We present here a modelling of the corresponding program with its environment , using the notion of (parametric) timed automata. A fundamental property of the service provided by the protocol to the user...

متن کامل

Formalising LPOs and Invariants in Coq

In the setting of CRL the notions of linear process operator LPO and invariant are implemented in Coq which is a a proof development tool based on type theory As a rst experiment we have computer checked a general property of a binary search program in the new framework

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014